package com.anxin.act.pushProcess.entity;

import java.util.List;

public class ProcessVO {
    /**
     * 任务 ID.唯一标识一个任务
     */
    private String itemId;
    /**
     * 上一任务 ID
     */
    private String lastItemId;
    /**
     * 待办\已办任务 PC 端详情页打开地址
     */
    private String itemUrl;
    /**
     * 待办\已办任务 MOA 端详情页打开地址
     */
    private String itemMOAUrl;
    /**
     * 数据类型 0 表示待办，1 表示待阅，2 表示已办，3 表
     * 示已阅，4 表示待办注销，5 表示知悉，6 表示已知悉，
     * 9 表示秘书待阅（领导在办）；
     * 注意秘书待阅类型在下面这种情况时才能使用：
     * 在领导产生待办时，同时给领导的秘书推送一条待阅
     * 数据，数据的 itemType 为 9。秘书只拥有此待阅数据
     * 的查看权，用于提醒领导办理，无法自己办理。
     */
    private String itemType;

    /**
     * 待办数据允许在 moa 上办理。0 表示 pc 和 moa 均
     * 可办理;1 表示仅 pc 可办理;2 表示仅 moa 可办理。如
     * 果不传，则默认赋值为 0
     */
    private int limit;

    /**
     * 任务的产生时间（13 位时间戳）
     */
    private Long itemCreateTime;
    /**
     * 任务的最后更新时间（13 位时间戳）
     */
    private Long lastUpdateTime;
    /**
     * 任务完成时间（13 位时间戳）
     */
    private Long completeTime;
    /**
     * 任务时限，限定任务的最晚处理时间，可用做待办逾
     * 期提醒(13 位时间戳)
     */
    private Long timeLimit;

    /**
     * 授权人信息
     */
    private UserInfoVO grantor;

    /**
     * 其他业务字段
     */
    private OtherFieldVO otherField;

    /**
     * 待办/待阅/知悉处理人信息
     */
    private UserInfoVO receiver;

    /**
     * 域 ID 或 编 号 ( 待 办 接 收 用 户 大 写 后 缀 ， 例 如 :
     * zhangsan@zj.cmcc, 大 写 的 @ZJ.CMCC 就  用 户 的
     * 域)。
     */
    private String region;


    /**
     * 应用系统 Id
     */
    private String appId;
    /**
     * 应用系统名
     */
    private String appName;
    /**
     * 业务类型,用于区分同一应用不同业务待办数据（如公
     * 文/非公文待办）,启用时需与统一待办约定传输内容。
     */
    private String businessTypeId;

    /**
     * 流程相关信息
     */
    private ProcessDefVO processDef;
    /**
     * 上一环节处理人.可以多人
     */
    private List<UserInfoVO> lastHandler;
    /**
     * 公司单位编码，注: HQ 域下单位编码必传(不传默 认
     * 集团总部 HQ)，见附录二-单位编码
     */
    private String companyCode;
    /**
     * 文档信息
     */
    private DocInfoVO docInfo;
    /**
     * 部门 id(接入集团总部节点(HQ 域)应用此字段必 填)
     */
    private String hqDeptId;
    /**
     * 部门名称，集团待办列表显示字段 (接入集团总部 节
     * 点(HQ 域)应用此字段必填)
     */
    private String hqDeptName;

    public String getItemId() {
        return itemId;
    }

    public void setItemId(String itemId) {
        this.itemId = itemId;
    }

    public String getLastItemId() {
        return lastItemId;
    }

    public void setLastItemId(String lastItemId) {
        this.lastItemId = lastItemId;
    }

    public String getItemUrl() {
        return itemUrl;
    }

    public void setItemUrl(String itemUrl) {
        this.itemUrl = itemUrl;
    }

    public String getItemMOAUrl() {
        return itemMOAUrl;
    }

    public void setItemMOAUrl(String itemMOAUrl) {
        this.itemMOAUrl = itemMOAUrl;
    }

    public String getItemType() {
        return itemType;
    }

    public void setItemType(String itemType) {
        this.itemType = itemType;
    }

    public int getLimit() {
        return limit;
    }

    public void setLimit(int limit) {
        this.limit = limit;
    }

    public Long getItemCreateTime() {
        return itemCreateTime;
    }

    public void setItemCreateTime(Long itemCreateTime) {
        this.itemCreateTime = itemCreateTime;
    }

    public Long getLastUpdateTime() {
        return lastUpdateTime;
    }

    public void setLastUpdateTime(Long lastUpdateTime) {
        this.lastUpdateTime = lastUpdateTime;
    }

    public Long getCompleteTime() {
        return completeTime;
    }

    public void setCompleteTime(Long completeTime) {
        this.completeTime = completeTime;
    }

    public Long getTimeLimit() {
        return timeLimit;
    }

    public void setTimeLimit(Long timeLimit) {
        this.timeLimit = timeLimit;
    }

    public UserInfoVO getGrantor() {
        return grantor;
    }

    public void setGrantor(UserInfoVO grantor) {
        this.grantor = grantor;
    }

    public OtherFieldVO getOtherField() {
        return otherField;
    }

    public void setOtherField(OtherFieldVO otherField) {
        this.otherField = otherField;
    }

    public UserInfoVO getReceiver() {
        return receiver;
    }

    public void setReceiver(UserInfoVO receiver) {
        this.receiver = receiver;
    }

    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getAppName() {
        return appName;
    }

    public void setAppName(String appName) {
        this.appName = appName;
    }

    public String getBusinessTypeId() {
        return businessTypeId;
    }

    public void setBusinessTypeId(String businessTypeId) {
        this.businessTypeId = businessTypeId;
    }

    public ProcessDefVO getProcessDef() {
        return processDef;
    }

    public void setProcessDef(ProcessDefVO processDef) {
        this.processDef = processDef;
    }

    public List<UserInfoVO> getLastHandler() {
        return lastHandler;
    }

    public void setLastHandler(List<UserInfoVO> lastHandler) {
        this.lastHandler = lastHandler;
    }

    public String getCompanyCode() {
        return companyCode;
    }

    public void setCompanyCode(String companyCode) {
        this.companyCode = companyCode;
    }

    public DocInfoVO getDocInfo() {
        return docInfo;
    }

    public void setDocInfo(DocInfoVO docInfo) {
        this.docInfo = docInfo;
    }

    public String getHqDeptId() {
        return hqDeptId;
    }

    public void setHqDeptId(String hqDeptId) {
        this.hqDeptId = hqDeptId;
    }

    public String getHqDeptName() {
        return hqDeptName;
    }

    public void setHqDeptName(String hqDeptName) {
        this.hqDeptName = hqDeptName;
    }
}
